package com.glidebitmappool.internal;

import ohos.media.image.PixelMap;
import ohos.media.image.common.PixelFormat;

/**
 * 缓存池接口
 *
 * @author renpengfei
 * @since 2021-03-12
 */
interface LruPoolStrategy {
    /**
     * 添加缓存图
     *
     * @param bitmap 图片
     */
    void put(PixelMap bitmap);

    /**
     * 获取缓存图
     *
     * @param width 宽
     * @param height 高
     * @param config 格式
     * @return PixelMap
     */
    PixelMap get(int width, int height, PixelFormat config);

    /**
     * 删除最后一条
     *
     * @return PixelMap
     */
    PixelMap removeLast();

    /**
     * 打印图片日志
     *
     * @param bitmap
     * @return String
     */
    String logBitmap(PixelMap bitmap);

    /**
     * 打印图片日志
     *
     * @param width 宽
     * @param height 高
     * @param config 格式
     * @return String
     */
    String logBitmap(int width, int height, PixelFormat config);

    /**
     * 获取图片大小
     *
     * @param bitmap
     * @return int
     */
    int getSize(PixelMap bitmap);
}